package plus.easydo.server.user.mp.qo;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import plus.easydo.starter.mybatis.plus.qo.MpBaseQo;

import javax.validation.constraints.NotBlank;

/**
 * @author laoyu
 * @version 1.0
 * @date 2021/7/12
 */

@Data
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
public class OauthClientDetailsQo extends MpBaseQo {

    /**
     * 客户端ID
     */
    @ApiModelProperty(value = "客户端ID")
    @NotBlank(message = "id不能为空")
    private String clientId;

    /**
     * 资源ID集合
     */
    @ApiModelProperty(value = "资源ID集合 ")
    private String resourceIds;

    /**
     * 客户端密匙
     */
    @ApiModelProperty(value = "客户端密匙")
    private String clientSecret;

    /**
     * 客户端申请权限范围
     */
    @ApiModelProperty(value = "客户端申请权限范围")
    private String scope;

    /**
     * 授权类型
     */
    @ApiModelProperty(value = "授权类型")
    private String authorizedGrantTypes;

    /**
     * 重定向URI
     */
    @ApiModelProperty(value = "重定向URI")
    private String webServerRedirectUri;

    /**
     * 客户端权限
     */
    @ApiModelProperty(value = "客户端权限")
    private String authorities;

    /**
     * 令牌有效时间
     */
    @ApiModelProperty(value = "令牌有效时间")
    private Long accessTokenValidity;

    /**
     * 刷新令牌有效时间
     */
    @ApiModelProperty(value = "刷新令牌有效时间")
    private Long refreshTokenValidity;

    /**
     * 预留字段
     */
    @ApiModelProperty(value = "预留字段")
    private String additionalInformation;

    /**
     * 跳过授权
     */
    @ApiModelProperty(value = "跳过授权")
    private String autoapprove;

}
